package com.zlyx.easy.core.aop;

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;

import org.aspectj.lang.ProceedingJoinPoint;

/**
 * 自定义切面处理
 * 
 * @Auth 赵光
 * @Describle
 * @2019年5月11日
 */
public interface AspectProcess {

	/**
	 * 处理Web层切面事件
	 * 
	 * @param pjp        切面对象
	 * @param realMethod 切面类
	 * @param realClass  切面方法
	 * @return
	 */
	Object doAround(ProceedingJoinPoint pjp, Class<?> cls, Method method) throws Exception;

	/**
	 * 参数校验
	 * 
	 * @param parameter 参数
	 * @param arg       值
	 * @return
	 */
	boolean doValidate(Parameter parameter, Object arg);
}
